package com.bienvenue.main.ui.activity.enterprise;

import android.graphics.Color;
import android.os.CountDownTimer;
import android.text.TextUtils;
import android.text.method.HideReturnsTransformationMethod;
import android.text.method.PasswordTransformationMethod;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;

import com.bienvenue.main.R;
import com.bienvenue.main.base.BaseActivity;
import com.bienvenue.main.httpService.ResponseObserver;
import com.bienvenue.main.model.AddSubAccountModel;
import com.bienvenue.main.model.HttpBean;
import com.bienvenue.main.serviceApi.ServiceModel;
import com.bienvenue.main.utils.SPUtils;
import com.google.gson.Gson;

import butterknife.BindView;
import butterknife.OnClick;

/**
 * 　　　　　　　 ┏┓       ┏┓+ +
 * 　　　　　　　┏┛┻━━━━━━━┛┻┓ + +
 * 　　　　　　　┃　　　　　　 ┃
 * 　　　　　　　┃　　　━　　　┃ ++ + + +
 * 　　　　　　 █████━█████  ┃+
 * 　　　　　　　┃　　　　　　 ┃ +
 * 　　　　　　　┃　　　┻　　　┃
 * 　　　　　　　┃　　　　　　 ┃ + +
 * 　　　　　　　┗━━┓　　　 ┏━┛
 * ┃　　  ┃
 * 　　　　　　　　　┃　　  ┃ + + + +
 * 　　　　　　　　　┃　　　┃　Code is far away from     bug with the animal protecting
 * 　　　　　　　　　┃　　　┃ + 　　　　         神兽保佑,代码无bug
 * 　　　　　　　　　┃　　　┃
 * 　　　　　　　　　┃　　　┃　　+
 * 　　　　　　　　　┃　 　 ┗━━━┓ + +
 * 　　　　　　　　　┃ 　　　　　┣┓
 * 　　　　　　　　　┃ 　　　　　┏┛
 * 　　　　　　　　　┗┓┓┏━━━┳┓┏┛ + + + +
 * 　　　　　　　　　 ┃┫┫　 ┃┫┫
 * 　　　　　　　　　 ┗┻┛　 ┗┻┛+ + + +
 * 版权：陇朝赢科技有限公司 版权所有
 *
 * @author 18592
 * 版本：
 * 创建日期：2020/10/22
 * 描述：子账号
 * ClassName：SubAccountNumberActivity
 * PackageName:com.bienvenue.main.ui.activity.enterprise
 */
public class SubAccountNumberActivity extends BaseActivity {
    @BindView(R.id.iv_see)
    ImageView ivSee;
    @BindView(R.id.iv_enter_see)
    ImageView ivEnterSee;
    @BindView(R.id.et_enter_pwd)
    EditText etEnterPwd;
    @BindView(R.id.et_pwd)
    EditText etPwd;
    @BindView(R.id.et_sub_account_number)
    EditText etSubAccountNumber;
    @BindView(R.id.et_phone)
    EditText etPhone;
    @BindView(R.id.et_super_code)
    EditText etSuperCode;
    @BindView(R.id.tv_send_super_code)
    TextView tvSendSuperCode;


    boolean isTrue = true;
    boolean isTrues = true;

    @Override
    protected void initData() {

    }

    @Override
    protected void initView() {

    }

    @Override
    protected int getLayoutId() {
        return R.layout.activity_sub_account_number;
    }

    @OnClick(R.id.iv_return_btn)
    void onFinish() {
        this.finish();
    }

    @OnClick(R.id.iv_see)
    void onSee() {
        if (isTrue == true) {

            ivSee.setImageResource(R.mipmap.icon_no_see);
            etPwd.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
            isTrue = false;
        } else {
            ivSee.setImageResource(R.mipmap.icon_see);
            etPwd.setTransformationMethod(PasswordTransformationMethod.getInstance());
            isTrue = true;
        }

    }

    @OnClick(R.id.iv_enter_see)
    void onEnterSee() {
        if (isTrues == true) {

            ivEnterSee.setImageResource(R.mipmap.icon_no_see);
            etEnterPwd.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
            isTrues = false;
        } else {
            ivEnterSee.setImageResource(R.mipmap.icon_see);
            etEnterPwd.setTransformationMethod(PasswordTransformationMethod.getInstance());
            isTrues = true;
        }
    }

    @OnClick(R.id.tv_add_sub_account_btn)
    void onAddSubAccount() {
        if (TextUtils.isEmpty(etSubAccountNumber.getText().toString().trim()) || "".equals(etSubAccountNumber.getText().toString().trim())) {
            showToast("请输入子账号");
            return;
        } else if (TextUtils.isEmpty(etPhone.getText().toString().trim()) || "".equals(etPhone.getText().toString().trim())) {
            showToast("请输入手机号码");
            return;
        } else if (TextUtils.isEmpty(etSuperCode.getText().toString().trim()) || "".equals(etSuperCode.getText().toString().trim())) {
            showToast("请输入验证码");
            return;
        } else if (TextUtils.isEmpty(etPwd.getText().toString().trim()) || "".equals(etPwd.getText().toString().trim())) {
            showToast("请输入密码");
        } else if (TextUtils.isEmpty(etEnterPwd.getText().toString().trim()) || !etEnterPwd.getText().toString().trim().equals(etPwd.getText().toString().trim())) {
            showToast("密码不一致，请重新输入");
            return;
        }

        if (TextUtils.isEmpty(SPUtils.getString("userId"))) {
            showToast("当前账号非主账号");
        }

        AddSubAccountModel.ParamModel model = new AddSubAccountModel.ParamModel();
        model.setCompanyid(SPUtils.getString("userId"));
        model.setPassword(etEnterPwd.getText().toString().trim());
        model.setUsername(etSubAccountNumber.getText().toString().trim());
        String json=new Gson().toJson(model);
        showLog(json);

        ServiceModel.getServiceModel().putSubAccount(etPhone.getText().toString().trim(),etSuperCode.getText().toString().trim(),SPUtils.getString("userId") ,etEnterPwd.getText().toString().trim(),etSubAccountNumber.getText().toString().trim(), new ResponseObserver<HttpBean>() {
            @Override
            public void onSuccess(HttpBean response) {
                if (response.getCode() == 0 || response.getCode() == 200) {
                    showToast(response.getMsg());
                    SubAccountNumberActivity.this.finish();
                } else {
                    showToast(response.getMsg());
                }

            }

            @Override
            public void onFail(String message) {
                showLog(message);
            }
        });

    }

    @OnClick(R.id.tv_send_super_code)
    void onSendSuperCode() {
        if (!TextUtils.isEmpty(etPhone.getText().toString().trim()) && etPhone.getText().toString().length() >= 11) {
            smsCode();
        } else {
            showToast("请输入正确的手机号");
        }


    }
    public void smsCode() {
        CountDownTimer mTimer = new CountDownTimer(60 * 1000, 1000) {
            @Override
            public void onTick(long millisUntilFinished) {
                if (tvSendSuperCode!=null){
                    tvSendSuperCode.setTextColor(getColor(R.color.color_565656));
                    tvSendSuperCode.setText(millisUntilFinished / 1000 + "秒后重发");
                }else{
                    return;
                }

            }

            @Override
            public void onFinish() {
                tvSendSuperCode.setEnabled(true);
                tvSendSuperCode.setTextColor(getColor(R.color.color_478CFE));
                tvSendSuperCode.setText("获取验证码");
                cancel();
            }
        };
        mTimer.start();
        tvSendSuperCode.setEnabled(false);
        ServiceModel.getServiceModel().onSuperCode(etPhone.getText().toString().trim(), new ResponseObserver<HttpBean>() {
            @Override
            public void onSuccess(HttpBean response) {
                if (response.getCode() == 200) {
                    showToast("验证码已下发，请注意查收");


                } else {
                    showToast(response.getMsg());
                    tvSendSuperCode.setEnabled(false);

                }
            }

            @Override
            public void onFail(String message) {
                showToast(message);
                tvSendSuperCode.setEnabled(false);
            }
        });
    }
}
